package com.qd.qx.api;

import android.renderscript.Sampler;

import com.qd.qx.bean.MessageInfoBean;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Path;
import retrofit2.http.Query;
import rx.Observable;

/**
 * des:ApiService
 * Created by xsf
 * on 2016.06.15:47
 */
public interface ApiService {

    @POST("authentication")
    Observable<MessageInfoBean> login(@Body RequestBody body);

    //请求通讯录
    @POST("dept/deptAndPeopleMsg")
    Observable<MessageInfoBean> requestTongXunLu(@Body RequestBody body);

    //请求用户个人信息
    @POST("user/getContactsMsg")
    Observable<MessageInfoBean> requestPeopleInfo(@Body RequestBody body);

    //添加到常用联系人
    @POST("user/addTopContacts")
    Observable<MessageInfoBean> addContact(@Body RequestBody body);

    //删除从常用联系人
    @POST("user/deleteTopContacts")
    Observable<MessageInfoBean> deleteContact(@Body RequestBody body);

    //删除从常用联系人
    @POST("user/topContacts")
    Observable<MessageInfoBean> getContacts(@Body RequestBody body);

    //获取群成员信息
    @POST("group/getGroupUserMsg")
    Observable<MessageInfoBean> getGroupInfo(@Body RequestBody body);

    //获取群组配置信息
    @POST("group/getGroupConfig")
    Observable<MessageInfoBean> getGroupConfig(@Body RequestBody body);

    //更新群配置信息
    @POST("group/updataGroupConfig")
    Observable<MessageInfoBean> updataGroupConfig(@Body RequestBody body);

    //查询用户对单聊的配置
    @POST("user/querySingleChatConfig")
    Observable<MessageInfoBean> querySingleChatConfig(@Body RequestBody body);

    //更新用户对单聊的配置接口
    @POST("user/updataSingleChatConfig")
    Observable<MessageInfoBean> updataSingleChatConfig(@Body RequestBody body);

    //查询全部人员
    @POST("dept/searchDeptAndPeopleMsg")
    Observable<MessageInfoBean> searchAction(@Body RequestBody body);

    //获取人员信息接口
    @POST("user/queryUserMsg")
    Observable<MessageInfoBean> queryUserMsg(@Body RequestBody body);

    //获取常用群接口
    @POST("group/getCommonUseGroup")
    Observable<MessageInfoBean> getCommonUseGroup(@Body RequestBody body);

    //修改用户头像
    @POST("upload/uploadHeadImg")
    Observable<MessageInfoBean> uploadHeadImg(@Body RequestBody body);

    //请求轮播图
    @GET("truns/pics/{postion}")
    Observable<MessageInfoBean> getBanner(@Path(value = "postion", encoded = true) String positon);

    //获取人员基本信息 职务信息
    @POST("user/getMineMsg")
    Observable<MessageInfoBean> getUserAllInfo(@Body RequestBody body);

    //发送吐槽
    @POST("feedBack/addUserFeedBack")
    Observable<MessageInfoBean> tucaoAction(@Body RequestBody body);

    //获取吐槽list
    @POST("feedBack/getUserFeedBack")
    Observable<MessageInfoBean> getTuCaoList(@Body RequestBody body);

    //上传文件、图片
    @POST("upload/uploadFile")
    Observable<MessageInfoBean> uploadFile(@Body RequestBody body);

    //新消息通知设置
    @POST("user/updateUserConfig")
    Observable<MessageInfoBean> updateUserConfig(@Body RequestBody body);

    //新消息通知获取
    @POST("user/getUserConfig")
    Observable<MessageInfoBean> getUserConfig(@Body RequestBody body);
}
